using System;
using System.Collections.Generic;
using System.Text;

namespace Hoshimi
{
    public class BotDefaultSMFactory : AbstractSMFactory
	{
		#region Singleton

		// Fields
		protected static BotDefaultSMFactory instance;

		// Constructor
		protected BotDefaultSMFactory() : base() { }

		// Methods
		public static BotDefaultSMFactory Instance()
		{
			// Uses "Lazy initialization"
			if( instance == null ) 
				instance = new BotDefaultSMFactory();

			return instance;
		}

		#endregion

		/// <summary>
		/// Create a null state machine
		/// </summary>
		/// <param name="unit"></param>
		/// <returns></returns>
		public override StateMachine CreateStateMachine( Unit unit ) 
		{
			StateMachine stateMachine = new StateMachine( unit );
			return stateMachine;
		}
	}
}
